<?php
namespace app\common\controller;
// 引入腾讯sdk
use Qcloud\Sms\SmsSingleSender;
// 引入异常类
use app\lib\exception\BaseException;

class QcloudSMSController
{
    static public function SendSMS($phone,$code){

        // 短信应用SDK AppID
        $appid = config('api.qcloudSMS.accessKeyId');
        // 短信应用SDK AppKey
        $appkey = config('api.qcloudSMS.accessSecret');
        // 你的手机号码。
        $phoneNumber = $phone;
        // 短信模板ID，需要在短信应用中申请
        $templateId = config('api.qcloudSMS.TemplateCode'); // NOTE: 这里的模板ID`7839`只是一个示例，真实的模板ID需要在短信控制台中申请
        // 签名
        $smsSign = config('api.qcloudSMS.SignName'); // NOTE: 这里的签名只是示例，请使用真实的已申请的签名，签名参数使用的是`签名内容`，而不是`签名ID`


        try {
            $ssender = new SmsSingleSender($appid, $appkey);
            $params = [$code];
            $result = $ssender->sendWithParam("86", $phoneNumber, $templateId, $params, $smsSign, "", "");  // 签名参数未提供或者为空时，会使用默认签名发送短信

            if(json_decode($result, true)['errmsg'] != 'OK') throw new BaseException(['code'=>200,'msg'=>$result,'errorCode'=>30004]);
            return ['Code' => 'OK'];
        } catch(\Exception $e) {
            throw new BaseException(['code'=>200,'msg'=>$e,'errorCode'=>30004]);
        }


    }
}